 <?php
class Form_User extends Zend_Form{
	/*
	 * Vì lớp Form_User của chúng ta kế thừa lớp Zend_Form nên trong lớp này chúng ta có thể sử dụng từ khóa $this để gọi các phương thức của lớp Zend_Form.
	 *
	 */
    public function init(){
          $this->setAction('')->setMethod('post');
          $name=$this->createElement("text","name",array(
                                                      "label" => "Full Name",
                                                      "size" => "30", 
    ));
           $email=$this->createElement("text","email",array(
                                                      "label" => "Email",
                                                      "size"  => "30", 
    ));
           $gender=$this->createElement("radio","gender",array(
                                                       "label" => "Gender",
                                                  "multioptions"=> array(
                                                                       "1" => "Male",
                                                                       "2" => "Female",
                          )
    ));
           $country=$this->createElement("select","country",array(
                                                        "label" => "Country",
                                                   "multioptions"=> array(
                                                                      "1" => "VietNam",
                                                                      "2" => "Cambodia",
                                                                      "3" => "Thai Lan",            
                        )        
    ));    
           $note=$this->createElement("textarea","note",array(
                                                         "label" => "Note",
                                                         "cols"    => "30",
                                                             "rows"  => "5",
    ));    
           $submit=$this->createElement("submit","submit");      

           
           /*
           Như khái niệm về các thẻ <dt>, <dd> xuất hiện trong HTML 5 cũng được đưa vào sử dụng. Vậy làm thế nào để có thể tùy biến các thẻ trong zend form dễ dàng nào ?.
           
           Muốn tùy biến trong zend form, ta sử dụng thêm một khái niệm nữa là decorator trong zend form
           Neu ko thích tùy biến thì bỏ dòng dưới này đi giữ lại dòng addElement là đc
           */
           $this->setDecorators(array(
           		array('viewScript',
           				array('viewScript'=>'Form_Register.phtml'), //chu y file Form_Register buộc phải để ở folder application/modules/default/views/scripts/Form_Register.phtml
           		)));
           
           $this->addElements(array($name,$email,$gender,$country,$note,$submit));
           
           /*
           Phương thức removeDecorator('HtmlTag') cho phép ta xóa bỏ cặp thẻ <dd> trong các phần tử khi chúng phát sinh.
           
           Phương thức removeDecorator('Label') cho phép ta xóa bỏ thẻ <dt>. Vì mặc dù ta đã xóa bỏ label ở phía trên nhưng khi hiển thị thì cặp thẻ <dt> vẫn chưa mất hoàn toàn. Do vậy cần có thêm phương thức này để xóa bỏ hoàn toàn thẻ <dt>.
           
           Riêng ở nút submit thì do không có thẻ <dt> nên để định dạng nó ta phải sử dụng phương thức: removeDecorator('DtDdWrapper');
           */
           $name->removeDecorator('HtmlTag')->removeDecorator('Label');
           $email->removeDecorator('HtmlTag')->removeDecorator('Label');
           $gender->removeDecorator('HtmlTag')->removeDecorator('Label');
           $country->removeDecorator('HtmlTag')           ->removeDecorator('Label');
           $note->removeDecorator('HtmlTag')           ->removeDecorator('Label');
           $submit->removeDecorator('DtDdWrapper');
    }
} 